include $(TOPDIR)/rules.mk
PKG_NAME:=apk
-PKG_RELEASE:=2
+PKG_RELEASE:=1
PKG_SOURCE_URL=https://gitlab.alpinelinux.org/alpine/apk-tools.git
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_DATE:=2025-11-10
-PKG_SOURCE_VERSION:=2c027261492169783f6aaa2b7731a4e90dc7a5b0
-PKG_MIRROR_HASH:=177769a6b7a4b0a2117ed4326060eb08b19c1b930a8a92b7c25d2f56154f497e
+PKG_SOURCE_DATE:=2025-12-03
+PKG_SOURCE_VERSION:=982c9961ad9e71b4068911329c9d8121cedfd9f7
+PKG_MIRROR_HASH:=4fc89e2bbbe10edfaa199b1ca9ace139aa39b43d3de6236e8be8b421d81b334b
-PKG_VERSION=3.0.0_pre$(subst -,,$(PKG_SOURCE_DATE))
+PKG_VERSION=3.0.1
PKG_LICENSE:=GPL-2.0-only
MESON_COMMON_ARGS = \
-Db_lto=true \
- -Dcompressed-help=false \
-Ddocs=disabled \
-Dhelp=enabled \
-Dlua_version=5.1 \
-Ddefault_library=static \
-Durl_backend=wget \
- -Dzstd=false \
+ -Dzstd=disabled \
-Dpython=disabled \
-Dtests=disabled
+++ /dev/null
-From aa71510f843d5cce5f75b6abfa3a70caeacbe36d Mon Sep 17 00:00:00 2001
-Date: Thu, 20 Nov 2025 18:26:52 -0800
-Subject: [PATCH] fix usage under LibreSSL > 3
-
-crypto needs to be initialized as the context relies on it.
-
-Fixes crash in EVP_DigestInit_ex being called with a NULL digest.
-
----
- src/apk.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/src/apk.c
-+++ b/src/apk.c
-@@ -571,6 +571,7 @@ int main(int argc, char **argv)
- apk_argv[argc] = NULL;
- apk_argv[argc+1] = NULL;
-
-+ apk_crypto_init();
- apk_ctx_init(&ctx);
- umask(0);
- setup_terminal();
-@@ -583,7 +584,6 @@ int main(int argc, char **argv)
- if (applet->parse) applet->parse(applet_ctx, &ctx, APK_OPTIONS_INIT, NULL);
- }
-
-- apk_crypto_init();
- apk_io_url_init(&ctx.out);
- apk_io_url_set_timeout(60);
- apk_io_url_set_redirect_callback(redirect_callback);
+++ /dev/null
---- a/doc/apk.8.scd
-+++ b/doc/apk.8.scd
-@@ -462,7 +462,8 @@ timeout 120
- */lib/apk/db/installed*
- Database of installed packages and their contents.
-
--*/lib/apk/db/scripts.tar*
-+*/lib/apk/db/scripts.tar*++
-+*/lib/apk/db/scripts.tar.gz*
- Collection of all package scripts from currently installed packages.
-
- */lib/apk/db/triggers*
---- a/src/apk_database.h
-+++ b/src/apk_database.h
-@@ -210,6 +210,7 @@ struct apk_database {
- unsigned int compat_depversions : 1;
- unsigned int sorted_names : 1;
- unsigned int sorted_installed_packages : 1;
-+ unsigned int scripts_tar : 1;
-
- struct apk_dependency_array *world;
- struct apk_id_cache *id_cache;
---- a/src/database.c
-+++ b/src/database.c
-@@ -1338,8 +1338,11 @@ static int apk_db_read_layer(struct apk_
- }
-
- if (!(flags & APK_OPENF_NO_SCRIPTS)) {
-- r = apk_tar_parse(apk_istream_from_file(fd, "scripts.tar"),
-- apk_read_script_archive_entry, db, db->id_cache);
-+ struct apk_istream *is = apk_istream_from_file(fd, "scripts.tar");
-+ if (!IS_ERR(is) || PTR_ERR(is) != -ENOENT) db->scripts_tar = 1;
-+ else is = apk_istream_gunzip(apk_istream_from_file(fd, "scripts.tar.gz"));
-+
-+ r = apk_tar_parse(is, apk_read_script_archive_entry, db, db->id_cache);
- if (!ret && r != -ENOENT) ret = r;
- }
-
-@@ -2214,8 +2217,9 @@ static int apk_db_write_layers(struct ap
- continue;
- }
- ld->installed = apk_ostream_to_file(ld->fd, "installed", 0644);
-- ld->scripts = apk_ostream_to_file(ld->fd, "scripts.tar", 0644);
- ld->triggers = apk_ostream_to_file(ld->fd, "triggers", 0644);
-+ if (db->scripts_tar) ld->scripts = apk_ostream_to_file(ld->fd, "scripts.tar", 0644);
-+ else ld->scripts = apk_ostream_gzip(apk_ostream_to_file(ld->fd, "scripts.tar.gz", 0644));
-
- if (i == APK_DB_LAYER_ROOT)
- os = apk_ostream_to_file(db->root_fd, apk_world_file, 0644);